Chord presenting apparatus and storage device storing a chord presenting computer program

ABSTRACT

CPU  31  reads out plural chord data which are stored in external storage device  34  or the like and represent a series of chords, and presents to a user the chords represented by the chord data. In presenting the chords to the user, display  21  or external displayer  53  displays chord names along with a score or a lyric, or energizes key-press lamps  14  corresponding to the chord tones constituting the chords. External storage device  34  or the like is provided with a chord conversion table for converting hard-to-play chords to easy-to-play chords. In presenting the chords, CPU  31  presents the chords converted with the use of the chord conversion table. In this case, the hard-to-play chords may be controlled rank by rank or may be designated by the user. Thus, when chords are presented to a user, the user can perform chord playing smoothly at all times even if the user is a beginner player.

CROSS-REFERENCE TO RELATED APPLICATION

This is a divisional application of U.S. application Ser. No. 10/244,374filed on Sep. 16, 2002 now U.S. Pat. No. 7,109,407.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates to a chord presenting apparatus and achord presenting computer program for reading out plural pieces of chordinformation which are stored in a chord information storage device andrepresent a series of chords, and for presenting to a user the chordsrepresented by the chord information.

2. Description of the Background Art

Hitherto, it is known in the art to display chord names along with alyric in accordance with the progression of music in a karaoke apparatusso that the user can add accompaniment play tones using a musicalinstrument such as a guitar to the song sung by the user, as disclosed,for example, in Japanese Laid-open Patent Publication No.06-308991/1994.

However, in the aforesaid conventional apparatus, it often happens thatthe displayed chord names are chords that are difficult for a beginnerto play. In these cases, the user may not be able to perform chordplaying smoothly, thus failing to provide good accompaniment tones.

SUMMARY OF THE INVENTION

The present invention has been made in order to cope with theaforementioned problems of the prior art, and an object thereof is toprovide a chord presenting apparatus and a chord presenting computerprogram by which a user can perform chord playing smoothly at all timesin the case of presenting chords to the user

In order to achieve the aforesaid object, the present invention ischaracterized by the following features in a chord presenting apparatusand in a chord presenting computer program for reading out plural piecesof chord information which are stored in a chord information storagedevice (or a chord information memory) and represent a series of chords,and for presenting chords represented by the chord information to auser.

The first characteristic feature lies in that, with the use of a chordconversion table that stores conversion information for convertingspecific chords to other specific chords, a part of the plural pieces ofchord information stored in the chord information storage device isconverted in accordance with the conversion information stored in thechord conversion table.

In this case, the chord conversion table may store, for example, chordinformation representing the before-conversion chords and conversioninformation for converting the before-conversion chords. As theconversion information, one can adopt chord information representing theconverted chords and corresponding to the chord information representingthe before-conversion chords. For example, hard-to-play chords may beselected in advance as the before-conversion chords, and easy-to-playchords may be selected in advance as the converted chords. By searchingfor before-conversion chords stored in the chord conversion table fromamong the plural chords represented by the plural pieces of chordinformation stored in the chord information storage device, the specificchords to be converted may be detected, and the chord informationrepresenting the converted chords and corresponding to the detectedchords may be output as a conversion output.

This allows that, even if the chords represented by the plural pieces ofchord information stored in the chord information storage device arehard-to-play chords, the user will be presented with easy-to-playchords. As a result, the user can perform smooth chord playing.

The second characteristic feature lies in that, with the use of a chordconversion table for converting specific chords to other specificchords, a level of the chords to be converted is input, whereby thechords to be converted are detected in accordance with the input levelfrom among the plural chords respectively represented by the pluralpieces of chord information stored in the chord information storagedevice, and the chord information representing the detected chords isconverted in accordance with the conversion information stored in thechord conversion table.

In this case as well, the chord conversion table may store, for example,chord information representing the before-conversion chords, conversioninformation for converting the before-conversion chords, and levelinformation representing the levels corresponding to the degrees ofdifficulty of playing, in correspondence. As the conversion information,chord information representing the converted chords can be stored incorrespondence with the chord information representing thebefore-conversion chords. For example, hard-to-play chords may beselected in advance as the before-conversion chords, and easy-to-playchords may be selected in advance as the converted chords. In this case,the level information representing the levels corresponding to thedegrees of difficulty in playing the before-conversion chords may bestored.

This allows that, when the user inputs level information in accordancewith the user's own level of playing, the chords represented by theplural pieces of chord information stored in the chord informationstorage device will be converted in accordance with the user's level ofplaying. Therefore, whether the user is a beginner player, anintermediate-level player, or an expert player, the user will bepresented with chords suitable for the user. As a result, even if theuser is a beginner player, the user can perform smooth chord playing.Also, if the user is an expert player, the user can perform chordplaying having an affluent power of expression.

The third characteristic feature lies in that, with the use of a chordconversion table that stores conversion information for convertingspecific chords to other specific chords, chords to be converted areinput from among the plural chords, whereby the input chords aredetected from among the plural chords respectively represented by theplural pieces of chord information stored in the chord informationstorage device, and the chord information representing the detectedchords is converted in accordance with the conversion information storedin the chord conversion table.

In this case as well, the chord conversion table may store, for example,chord information representing the before-conversion chords andconversion information for converting the before-conversion chords. Asthe conversion information, one can adopt chord information representingthe converted chords and corresponding to the chord informationrepresenting the before-conversion chords. For example, hard-to-playchords may be selected in advance as the before-conversion chords, andeasy-to-play chords may be selected in advance as the converted chords.Further, in this case, for the chords to be converted, all the chordsrepresented by all the chord information stored in the chord informationstorage device may be presented to the user so that the user may selectchords that the user wishes to convert, from among the presented chords.

This allows that the user can designate chords to be converted on theuser's side. Therefore, by designating the chords that the user is notgood at playing, the user will be presented with easy-to-play chordseven if the chords represented by the plural pieces of chord informationstored in the chord information storage device are chords that the userfinds it difficult to play. As a result, the user can perform smoothchord playing.

The fourth characteristic feature lies in that, with the use of a chordconversion table that stores conversion information for convertingspecific chord progressions to other specific chord progressions, pluralchords representing a specific chord progression are detected from amongthe plural pieces of chord information stored in the chord informationstorage device, and a part of the plural pieces of chord informationrepresenting the detected chord progression is converted in accordancewith the conversion information stored in the chord conversion table.

In this case, the chord conversion table may store, for example, pluralpieces of chord information representing the before-conversion chordprogressions and conversion information for converting thebefore-conversion chord progressions. As the conversion information, onecan adopt plural pieces of chord information representing the convertedchord progressions and corresponding to the plural pieces of chordinformation representing the before-conversion chord progressions. Forexample, hard-to-play chord progressions may be selected in advance asthe before-conversion chord progressions, and easy-to-play chordprogressions may be selected in advance as the converted chordprogressions. By searching for before-conversion chord progressionsstored in the chord conversion table from among the plural chordprogressions represented by the plural pieces of chord informationstored in the chord information storage device, the specific chordprogression to be converted may be detected, and the plural pieces ofchord information representing the converted chord progression andcorresponding to the detected chord progression may be output as aconversion output. Further, as the conversion of a chord progression,one may convert the chord progression by converting one or more of thebefore-conversion chords to other chords, or alternatively, one mayconvert the chord progression by omitting one or more of thebefore-conversion chords so that the preceding chord succeeds(continues) in place of the omitted chord.

This allows that, even if the chord progression represented by theplural pieces of chord information stored in the chord informationstorage device is a hard-to-play chord progression, the user will bepresented with an easy-to-play chord progression. As a result, the usercan perform smooth chord playing.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a schematic block diagram of an electronic musical instrumentaccording to one embodiment of the present invention;

FIG. 2 is a format diagram of music data stored in an external storagedevice or the like of FIG. 1;

FIG. 3 is a flowchart of a music data presenting program executed by theCPU of FIG. 1;

FIG. 4 is a flowchart showing details of the chord converting routine ofFIG. 3;

FIG. 5 is a format diagram of a chord conversion table stored in theexternal storage device or the like of FIG. 1;

FIG. 6 is a flowchart showing details of a chord converting routineaccording to the first modification of the aforesaid embodiment;

FIG. 7 is a format diagram of a chord conversion table according to theaforesaid first modification;

FIG. 8 is a flowchart showing details of a chord converting routineaccording to the second modification of the aforesaid embodiment;

FIG. 9 is a format diagram of a chord conversion table according to theaforesaid second modification; and

FIG. 10 is a flowchart showing details of a chord converting routineaccording to the third modification of the aforesaid embodiment.

DESCRIPTION OF THE PREFERRED EMBODIMENTS

Hereafter, one embodiment of the present invention will be describedwith reference to the attached drawings. FIG. 1 is a block diagramillustrating an electronic musical instrument according to thisembodiment.

This electronic musical instrument includes a keyboard 10 and anoperation panel 20. Keyboard 10 is made of a plurality of keys as playoperators, and key switches 11 disposed respectively in correspondencewith the keys are turned on/off by pressing/depressing the keys. Theon/off of key switches 11 is detected by a detection circuit 13connected to a bus 12. Further, on the front side or in the rear ofkeyboard 10, a plurality of key-press lamps 14 are disposed on a panel(not illustrated) respectively in correspondence with the keys ofkeyboard 10. These key-press lamps 14 are used so as to present a key tobe pressed to the user by energizing one or more of the key-press lamps14. The energization of the key-press lamps 14 is controlled by akey-press position display control circuit 15 connected to bus 12. Here,in this embodiment, a plurality of these key-press lamps 14 aresimultaneously energized and controlled for presenting a chord to theuser, particularly so that a plurality of keys corresponding to theconstituent tones of the chord may be pressed at the same time. Further,in the case where each key is formed of a translucent (semi-transparent)material, the key-press lamps 14 may be disposed respectively under thekeys.

A display 21 and numerous control operators 22 are disposed on operationpanel 20. Display 21 is constituted with a liquid crystal displayer, acathode ray tube, or the like, and is constructed to be capable ofdisplaying a screen for setting various modes of this electronic musicalinstrument including the setting of music tone elements such as a tonecolor, a tone volume, and an effect of the music tone signals to begenerated. Display 21 is also constructed to be capable of displaying alyric screen or a score screen representing a lyric or a score. Inparticular, this display 21 in this embodiment functions also as chordpresenting means for presenting a chord to the user by displaying achord name together with a lyric or a score. Display of display 21 iscontrolled by a display control circuit 23 connected to bus 12.

Control operators 22 are for controlling the operation of thiselectronic musical instrument, and operator switches 24 respectivelycorresponding to control operators 22 are turned on/off by operation ofcontrol operators 22. The on/off of operator switches 24 is detected bya detection circuit 25 connected to bus 12.

A CPU 31, a ROM 32, a RAM 33, an external storage device 34, a timer 35,and a tone generator circuit 40 are connected to bus 12. CPU 31, ROM 32,RAM 33, and timer 35 constitute a main body part of a micro computer,and controls various operations of this electronic musical instrument byexecution of a program. External storage device 34 includes variousrecording media such as a hard disk HD incorporated in advance in thiselectronic musical instrument, or a compact disk CD or flexible disk FDmountable on this electronic musical instrument, as well as a drive unitfor each of the recording media. External storage device 34 can storeand read out a large amount of data and programs.

In this embodiment, hard disk HD stores plural music data shown in FIG.2, a music data presenting program shown in FIG. 3 (including a chordconverting routine of FIG. 4), and a chord conversion table of FIG. 5.These music data, music data presenting program, and chord conversiontable are supplied to hard disk HD from compact disk CD or flexible diskFD, or are supplied to hard disk HD from a later-described externalmusic apparatus 63 or from the outside via a communication network 64.

Referring to FIG. 2, each of the music data includes an automatic playdata, a score displaying data, and a lyric displaying data. Theautomatic play data is used for generating tone signals by beingsupplied to tone generator circuit 40 or external music apparatus 63, oris used for displaying the keys to be pressed by the key-press lamps 14by being supplied to key-press position display control circuit 15. Thisautomatic play data is made of an initial data for determining the tonecolor of the tone signals to be generated, the reproduction tempo of themusic, and others, as well as a series of play event data, a series oftiming data and end data, and others. The play event data represents aplay event of the musical instrument that follows the progression of themusic, and is made, for example, of a key-on or key-off datarepresenting the pressing or depressing of a key, a note number datarepresenting the pressed or depressed key (tone pitch), and a velocitydata representing the speed of pressing the key (tone volume). Thetiming data represents a period of time between the play events. The enddata represents the end of the music.

Further, in this play data, a plurality of chord data respectivelyrepresenting plural chords that follow the progression of the music areincluded as play events. In this case, the chord data may be a pluralityof note number data respectively representing the plural constituenttones that constitute the chord or may be a chord name data representingthe chord name itself. Here, in the case of using the chord name datafor generating chord tones and displaying the keys to be pressed, thechord name data is used by being converted to each of the constituenttones of the chord represented by the chord name data.

The score displaying data and the lyric displaying data are forrespectively displaying a score or a lyric in accordance with theprogression of one piece of music on display 21 or a later-mentionedexternal displayer 53. In this case as well, the chord name datarepresenting the chord names themselves are included both in the scoredisplaying data and in the lyric displaying data so that the chord namesmay be displayed in addition to the score and the lyric in displayingthe score and the lyric.

The music data presenting program of FIG. 3 is a generic basis of theprograms for presenting chords to the user according to the presentinvention, and is made, for example, of an automatic play program, akey-press position displaying program, a score displaying program, alyric displaying program, and others.

The chord conversion table of FIG. 5 stores a plurality ofbefore-conversion chords to be converted as well as the converted chordscorresponding to the before-conversion chords. In this case, thebefore-conversion chords are highly difficult chords that the beginnerfinds it hard to play (including being hard to understand or beingunfamiliar), and the converted chords are less difficult chords that thebeginner finds it easier to play (including being easy to understand orbeing familiar).

A rule that determines the chords before and after conversion will bedescribed. For example, a chord with a tension (for example, C9) will beconverted to a chord without a tension (for example, C). A chord with anon-base (for example, C on G) will be converted to a chord without anon-base (for example, C). A hard-to-understand or unfamiliar chord (forexample, C6) will be converted to another easy-to-understand or familiarchord having the same constituent tones (for example, Am7). Ahard-to-understand or unfamiliar chord (for example, C7sus4) will beconverted to another easy-to-understand or familiar chord (for example,Gm7) made of nearby constituent tones. A hard-to-understand orunfamiliar chord (for example, CM7) will be converted to anothereasy-to-understand or familiar chord (for example, Em7) having the samefunction (tonic T, dominant D, subdominant S). A chord with an addedtone (Cadd9) will be converted to a chord (C) without an added tone.

Tone generator circuit 40 generates tone signals in accordance with playinformation (key-on signal, key-off signal, note number, velocity, etc.)from CPU 31. In generation of the tone signals, tone generator circuit40 also controls the music tone elements such as the tone color, tonevolume (amplitude envelope), and effect of the tone signals inaccordance with the music tone element control data supplied from CPU 31for controlling the music tone elements. The tone signals generated intone generator circuit 40 are output to a sound system 41. Sound system41 is made of amplifiers, speakers, and others, so as to generate themusic sounds corresponding to the output tone signals.

Further, an image data output circuit 51, a MIDI interface circuit 61,and a communication interface circuit 62 are connected to bus 12. Imagedata output circuit 51 outputs lyric displaying data, score displayingdata, and others to external displayer 53 via its output terminal 52.External displayer 53 is constituted with a CRT display, a liquidcrystal displayer, or the like having a larger size than the display 21,and displays a lyric or score in the same manner as the display 21.

MIDI interface circuit 61 is for communicating data related to musicsuch as the aforesaid automatic play data, lyric displaying data, andscore displaying data with external music apparatus 63 connected to theinterface circuit 61. Communication interface circuit 62 is connectableto the outside via a communication network 64 so that this electronicmusical instrument can communicate various programs and data with theoutside.

Next, an operation of the embodiment constructed as shown above will bedescribed. First, a user gives an instruction for execution of the musicdata presenting program by operating any of control operators 22 afterturning on the power switch (not illustrated) of the electronic musicalinstrument. This allows that, by execution of a program (notillustrated) stored in ROM 32, CPU 31 reads out the music datapresenting program of FIG. 3 (including the chord converting routine ofFIG. 4) and the chord conversion table of FIG. 5 from hard disk HD ofexternal storage device 34, for storage into RAM 33.

Here, if the music data presenting program and the chord conversiontable are not stored in hard disk HD, a music data presenting programand a chord conversion table stored in compact disk CD, flexible diskFD, or the like will be stored into hard disk HD, or a music datapresenting program and a chord conversion table will be downloaded intohard disk HD from external music apparatus 63 or from the outside viacommunication network 64, and thereafter the music data presentingprogram and chord conversion table will be transferred to RAM 33 andstarted. Further, a part of the music data presenting program and thechord conversion table may remain stored in hard disk HD or otherrecording media without being stored into RAM 33, in accordance with theneeds.

The music data presenting program is started at step 100 of FIG. 3.After this program is started, CPU 31 at step 102 prompts the user toselect music by controlling display control circuit 23 to display amessage for selection of the music on display 21. When the user selectsa desired piece of music by operation of control operators 22, CPU 31reads out the selected music data from the hard disk of external storagedevice 34 for writing into RAM 33. In this case as well, if the desiredmusic data is not stored in hard disk HD, music data stored in compactdisk CD, flexible disk FD, or the like will be stored into hard disk HD,or music data will be downloaded into hard disk HD from external musicapparatus 63 or from the outside via communication network 64, andthereafter, the music data will be transferred to RAM 33. Here, themusic data written into RAM 33 may be only one kind of data instead ofall the kinds of data including the automatic play data, the scoredisplaying data, and the lyric displaying data, in accordance with thepurpose of its use.

After the process of step 102, CPU 31 executes the chord convertingroutine at step 104. This chord converting routine is described indetail in FIG. 4, and is started at step 200. After the execution ofthis chord converting routine is started, CPU 31 at step 202 lets anaddress pointer proceed from the head address position of the music datatransferred to RAM 33, so as to search for the first chord data in themusic data, and then sets the address pointer at the address position ofthe first chord data. Next, CPU 31 at step 204 searches into thebefore-conversion data in the chord conversion table transferred to RAM33 to find the chord data designated by the address pointer. Then, CPU31 at step 206 determines whether a chord data that coincides with thechord data designated by the address pointer has been found in thebefore-conversion chord data in the chord conversion table.

If it is determined as “YES” at step 206, i.e. if it is determined thatthe coincident chord data is present in the before-conversion chord dataof the chord conversion table, CPU 31 proceeds to step 208. At step 208,the converted chord data stored in the chord conversion table andcorresponding to the coincident before-conversion chord data is readout. Then, the chord data in the music data indicated by the addresspointer is changed to the converted chord data that has been read outfrom the chord conversion table. Thereafter, CPU 31 at step 210 lets theaddress pointer proceed so as to search for the next chord data in themusic data, and sets the address pointer at the address position of thenext chord data.

On the other hand, if it is determined as “NO” at step 206, i.e. if itis determined that the coincident chord data is not present in thebefore-conversion chord data of the chord conversion table, CPU 31proceeds directly to step 210 without executing the process of step 208.In this case, therefore, the chord data in the music data remainsunchanged.

After the process of step 210, CPU 31 at step 212 determines whether theaddress pointer has reached the last data position of the music data. Ifthe address pointer has not reached the last data position of the musicdata yet, CPU 31 at step 212 determines as “NO” and returns to step 204.In this case, the processes of steps 204 to 210 are executed again.Namely, if a chord data that coincides with the chord data designated bythe address pointer is found in the before-conversion chord data of thechord conversion table, the chord data designated by the address pointeris changed to the converted chord data stored in the chord conversiontable and corresponding to the before-conversion chord data.

When the address pointer reaches the last data position of the musicdata through these repeated processes of steps 204 to 212, CPU 31 atstep 212 determines as “YES”, and the execution of this chord convertingroutine is ended at step 214.

Returning to the description of the music data presenting program ofFIG. 3, after executing the chord converting routine of step 104, CPU 31executes the process of step 106. In this step 106, the music data ispresented to the user, namely, the play information represented by themusic data including the chords represented by the converted chord datais presented to the user. When the presentation of the music data to theuser is finished, the execution of the music data presenting program isended at step 108.

This presentation of the music data will be described more specifically.If the music data presenting program of FIG. 3 is the aforementionedautomatic play program, a series of play event data including theconverted chord data are supplied to tone generator circuit 40 orexternal music apparatus 63 at each time interval designated by thetiming data. Tone generator circuit 40 or external music apparatus 63generates tone signals (including chord tone signals) corresponding tothe series of play event data including the converted chord data with atone color designated by the separately transferred data for controllingthe tone color or the like. Therefore, in this case, the presentation ofmusic data including the presentation of chords to the user means anauditory presentation of the automatic play sounds including the chordtones to the user.

If the music data presenting program of FIG. 3 is the aforementionedkey-press position displaying program, a series of play event dataincluding the converted chord data are supplied to key-press positiondisplay control circuit 15 at each time interval designated by thetiming data. Key-press position display control circuit 15 energizeskey-press lamps 14 disposed at the key positions corresponding to thetone pitches represented by the series of play event data including theconverted chord data. In this case, with regard to the chord data,key-press lamps 14 disposed at the key positions corresponding to thetone pitches of the tones constituting the chord represented by thechord data are energized. Therefore, in this case, the presentation ofthe chords to the user means sequential visual presentation of the tonepitch positions of the tones constituting the chord to the user.

If the music data presenting program of FIG. 3 is a score displayingprogram or lyric displaying program, the score displaying data or lyricdisplaying data are supplied to display control circuit 23 or image dataoutput circuit 51 as the music data. On the basis of the supplied scoredisplay data or lyric display data, display control circuit 23 or imagedata output circuit 51 displays a score or lyric represented by thescore display data or lyric display data on display 21 or externaldisplayer 53. In this case, with regard to the score or lyric to bedisplayed, a whole of one piece of music may be displayed, oralternatively, a part corresponding to one chorus or one phrase, or evena part corresponding to the predetermined bars may be displayed. Here,if only a part of the music is displayed, the displayed part may bechanged in accordance with the progression of the music.

In this case, the score display data or lyric display data includes thechord data, and this chord data is one already converted by theaforesaid chord conversion in accordance with the conversion informationof the chord conversion table. Generally, the chord names represented bythe chord data are displayed in accordance with the progression of thescore or lyric. In this case, therefore, the presentation of the chordsto the user means visual presentation of the chord names to the user.Further, in the case of displaying a score, the chords may be presentedto the user by displaying the chords with the use of plural music noteson the score instead of the chord names.

As will be understood from the above description of the operation, thisallows that, even if a chord data representing a highly difficult chordis included in the music data (automatic play data, score display data,and lyric display data), the chord data is presented to the user bybeing converted to a chord data representing a less difficult chord withthe use of the chord conversion table. As a result of this, the user canperform smooth chord playing.

Here, in the above-described embodiment, among the plural chordsrepresented by the chord data in the music data, all of the chordsregistered as before-conversion chords in the chord conversion table areconverted to less difficult chords. However, in lieu of this, the usermay be allowed to select whether or not to perform chord conversion withthe use of the chord conversion table. In this case, in the music datapresenting program of FIG. 3, a process of letting the user selectwhether or not to execute the chord converting routine of step 104 maybe inserted between step 102 and step 104 so that the chord convertingroutine may be executed only when the user wishes so and, in othercases, the chord converting routine may not be executed. This allowsthat, if the user wishes to play all of the presented chords such as inthe case where the user is an expert player who can play highlydifficult chords, all the chords represented by the chord data includedin the music data will be played by the user. As a result of this,according to this modification, music sounds including the highlydifficult chords are generated, whereby one can enjoy music having anaffluent power of expression in playing.

Alternatively, plural kinds of chord conversion tables may be preparedas described above so that the plural kinds of chord conversion tablesmay be used in accordance with a selection of the user. In this case, inthe prepared plural kinds of chord conversion tables, before-conversionchords are registered in accordance with levels of playing. For example,one may prepare a chord conversion table in which even the chords havinga lower degree of difficulty than an intermediate level are registeredas the before-conversion chords, a chord conversion table in which thechords having a higher degree of difficulty than the intermediate levelare registered as the before-conversion chords, and a chord conversiontable in which only the chords having an extremely high degree ofdifficulty are registered as the before-conversion chords. Then, in themusic data presenting program of FIG. 3, a process of inputtinginformation representing a primary level, an intermediate level, anadvanced level, or the like may be inserted between step 102 and step104 so that a chord conversion table to be used in the chord convertingroutine of step 104 may be selected by this input information, oralternatively non-execution of the chord conversion may be selected.

Next, the first to third modifications will be sequentially described inwhich the mode of chord conversion in the above embodiment is changed.

a. First Modification

In this first modification, the chord converting routine of FIG. 4 ismodified as shown in FIG. 6, and the chord conversion table of FIG. 5 ischanged as shown in FIG. 7. This chord conversion table storesbefore-conversion chord progressions and converted chord progressions incorrespondence. A chord progression is a short chord progression of apredetermined interval such as two bars or of a predetermined numbersuch as four bars. In this case as well, the before-conversion chordprogressions are made of highly difficult chords that the beginner findsit hard to play (including being hard to understand or beingunfamiliar), and the converted chord progressions are made of lessdifficult chords that the beginner finds it easier to play (includingbeing easy to understand or being familiar). An example of thebefore-conversion chord progressions is C-Dm7-F-G7, and an example ofthe converted chord progressions is C-(Y)-F-G7. Here, (Y) may be thesame chord as the previous chord (chord C), or may be another chord. Inessence, it suffices if the before-conversion chords and the convertedchords are partly different. The other constituents of this modificationare the same as in the aforesaid embodiment.

In this first modification constructed as shown above, the chordconverting routine shown in FIG. 6 is executed at step 104 of FIG. 3 inthe aforesaid embodiment. In this chord converting routine, after theprocesses of steps 200, 202 similar to those in the aforesaidembodiment, CPU 31 at step 220 reads out plural chord data of apredetermined interval (or of a predetermined number) from the chorddata designated by the address pointer in the music data, and searchesinto the before-conversion chord progression data of the chordconversion table to find a chord progression made of the plural chorddata. Then, CPU 31 at step 222 determines whether a chord progressionthat coincides with the chord progression in the music data has beenfound in the before-conversion chord progression data of the chordconversion table.

If it is determined as “YES” at step 222, i.e. if it is determined thatthe coincident chord progression is present in the before-conversionchord progression data of the chord conversion table, CPU 31 proceeds tostep 224. At step 224, the plural chord data stored in the chordconversion table and representing the converted chord progressioncorresponding to the coincident before-conversion chord progression isread out. Then, the plural chords in the music data corresponding to thecoincident chord progression are changed to the plural chord datarepresenting the converted chord progression read out from the chordconversion table. On the other hand, if it is determined as “NO” at step222, i.e. if it is determined that the coincident chord progression isnot present in the before-conversion chord progression data of the chordconversion table, CPU 31 proceeds directly to step S210 withoutexecuting the process of step 224. In this case, therefore, the chordprogression data in the music data, i.e. the plural chord data, remainunchanged.

The processes of step 210 and afterwards are the same as in theaforesaid embodiment. After the process of step 222 or 224, CPU 31 atstep 210 lets the address pointer proceed to the address position of thenext chord data in the music data, and executes the determining processof step 212 similar to that of the aforesaid embodiment, i.e. theprocess of determining whether the address pointer has reached the lastdata position of the music data. If the address pointer has not reachedthe last data position of the music data yet, CPU 31 at step 212determines as “NO” and returns to step 220 to execute the circulationprocess of steps 220 to 212. On the other hand, if it is determined thatthe address pointer has reached the last data position of the musicdata, CPU 31 at step 212 determines as “YES”, and the execution of thisconverting routine is ended for a while at step 214.

Therefore, according to this modification, even if a chord datarepresenting a highly difficult chord progression is included in themusic data (automatic play data, score display data, and lyric displaydata), the chord data is presented to the user by being converted to achord data representing a less difficult chord progression with the useof the chord conversion table. As a result of this, the user can performsmooth chord playing.

Here, in the above-described embodiment, among the plural chordprogressions each represented by the plural chord data in the musicdata, all of the chord progressions registered as before-conversionchord progressions in the chord conversion table are converted to lessdifficult chord progressions. However, in lieu of this, the user may beallowed to select whether or not to perform chord conversion with theuse of the chord conversion table. In this case as well, in the musicdata presenting program of FIG. 3, a process of letting the user selectwhether or not to execute the chord converting routine of step 104 maybe inserted between step 102 and step 104 so that the chord convertingroutine may be executed only when the user wishes so and, in othercases, the chord converting routine may not be executed. This allowsthat, if the user wishes to play all of the presented chord progressionssuch as in the case where the user is an expert player who can playhighly difficult chord progressions, all the chord progressionsrepresented by the chord data included in the music data are played bythe user. As a result of this, according to this modification, musicsounds including the highly difficult chord progressions are generated,whereby one can enjoy music having an affluent power of expression inplaying.

Alternatively, plural kinds of chord conversion tables may be preparedas described above so that the plural kinds of chord conversion tablesmay be used in accordance with a selection of the user. In this case, inthe prepared plural kinds of chord conversion tables, before-conversionchord progressions are registered in accordance with levels of playing.For example, one may prepare a chord conversion table in which even thechord progressions having a lower degree of difficulty than anintermediate level are registered as the before-conversion chordprogressions, a chord conversion table in which the chord progressionshaving a higher degree of difficulty than the intermediate level areregistered as the before-conversion chord progressions, and a chordconversion table in which only the chord progressions having anextremely high degree of difficulty are registered as the beforeconversion chord progressions. In this case as well, in the music datapresenting program of FIG. 3, a process of inputting informationrepresenting a primary level, an intermediate level, an advanced level,or the like may be inserted between step 102 and step 104 so that achord conversion table to be used in the chord converting routine ofstep 104 may be selected by this input information, or alternativelynon-execution of the chord conversion may be selected.

b. Second Modification

Next, the second modification will be described. In this modification,the chord converting routine of FIG. 4 is modified as shown in FIG. 8,and the chord conversion table of FIG. 5 is modified as shown in FIG. 9.This chord conversion table stores level data representing the degreesof difficulty (for example, levels 1, 2, and 3) of the before-conversionchords in correspondence with the before-conversion chords and theconverted chords of FIG. 4.

In the second modification constructed as described above, the chordconverting routine shown in FIG. 8 is executed at step 104 of FIG. 3 inthe aforementioned embodiment. In this chord converting routine, afterthe start of step 200, CPU 31 at step 230 prompts the user to input alevel data representing a degree of difficulty by displaying on display21 a message for selection of the level data representing the degree ofdifficulty of the chords to be converted. When the user inputs a leveldata representing a degree of difficulty of the chords to be convertedwith the use of control operators 22 in response to this, CPU 31 takesin the input level data. Then, after setting the address pointer at theaddress position of the first chord data in the music data at step 202in the same manner as in the aforementioned embodiment, CPU 31 executesthe circulation process of steps 204 to 212.

This circulation process is different from that of the aforementionedembodiment in that a determining process of step 232 is inserted betweensteps 206 and 208, but the other constituents are the same. In this step232, if it is determined as “YES” at step 206, i.e. if a chord datacorresponding to the chord data indicated by the address pointer ispresent in the conversion table, CPU 31 determines whether or not thelevel data stored in the conversion table and corresponding to the chorddata is above or equal to the level designated by the user. If the leveldata of the conversion table is above or equal to the level representedby the level data input by the user, CPU 31 determines as “YES” at step232, and changes the chord data indicated by the address pointer to theconverted chord data in the chord conversion table at step 208. On theother hand, if the level data in the chord conversion table is below thelevel represented by the level data input by the user, CPU 31 determinesas “NO” at step 232 and executes the process of step 210 to let theaddress pointer proceed.

Therefore, according to this second modification, when the user inputslevel information in accordance with the user's own level of playing,the chords represented by the chord data in the music data will beconverted in accordance with the user's level of playing. Therefore,whether the user is a beginner player, an intermediate-level player, oran expert player, the user will be presented with chords suitable forthe user. As a result, even if the user is a beginner player, the usercan perform smooth chord playing. Also, if the user is an expert player,the user can perform chord playing having an affluent power ofexpression.

Further, in this second modification as well, in the music datapresenting program of FIG. 3, the process of letting the user selectwhether or not to execute the chord converting routine of step 104 maybe inserted between step 102 and step 104 so that the chord convertingroutine may be executed only when the user wishes so, and, in othercases, the chord converting routine may not be executed. This allowsthat, if the user wishes to play all of the presented chords such as inthe case where the user is an expert player who can play highlydifficult chords, all the chords represented by the chord data includedin the music data will be played by the user.

c. Third Modification

Next, the third modification will be described. In this modification,the chord converting routine of FIG. 4 is modified as shown in FIG. 10.

In this third modification, the chord converting routine shown in FIG.10 is executed at step 104 of FIG. 3 in the aforementioned embodiment.In this chord converting routine, after the start of step 200, CPU at240 reads out all of the chord data from among the selected music data,and displays the chords represented by the chord data on display 21. Inthe chord display of this case, a chord name may be displayed, oralternatively, chord tones constituting the chord may be displayed withthe use of plural music notes on a score. When the user designates,namely inputs, the chords that the user wishes to convert in response tothis display, CPU 31 at step 242 obtains the designated chords forstorage into RAM 33. Then, at step 202 similar to that of theaforementioned embodiment, CPU 31 sets the address pointer at theaddress position of the first chord data in the music data, andrepeatedly executes the circulation process made of steps 244 to 212.

This circulation process is different from that of the aforementionedembodiment in that the process of step 244 is added to the processes ofsteps 204 to 212 similar to those of the aforementioned embodiment, butthe other constituents are the same. At this step 244, CPU 31 determineswhether or not a chord data coincident with the chord data located atthe address position indicated by the address pointer is present in thechord data stored in advance in RAM 33 by the process of step 242. Ifthe coincident chord data is absent, CPU 31 determines as “NO” at step244, and proceeds to step 210 to let the address pointer proceed to theaddress position of the next chord data. On the other hand, if thecoincident chord data is present, CPU 31 determines as “YES” at step 244and converts or does not convert the chord data indicated by the addresspointer to other chord data in accordance with the contents stored inthe chord conversion table by the processes of steps 204 to 208 similarto those of the aforementioned embodiment.

When the conversion process on all of the chord data in the music datais finished by the circulation process made of these steps 244 to 212,CPU 31 at step 212 determines as “YES”, i.e. determines that the addresspointer has reached the end of the music data, and ends the execution ofthis chord converting routine at step 214.

Therefore, according to this third modification, the user can designatechords to be converted on the user's side. Therefore, by designating thechords that the user is not good at playing, the user will be presentedwith easy-to-play chords even if the chords represented by the chorddata in the music data are chords that the user finds it difficult toplay. As a result, the user can perform smooth chord playing.

Here, in this third modification, as the chord conversion table, thesame table as that of the aforementioned embodiment may be used;however, since it is expected that the types of the chords that the userwishes to convert may vary depending on the user, numeral types of thechords may be preferably stored as the before-conversion chords in thechord conversion table.

Further, in this third modification as well, whether or not to performthe chord conversion may be made selectable. In this case as well, inthe music data presenting program of FIG. 3, the process of letting theuser select whether or not to execute the chord converting routine ofstep 104 may be inserted between step 102 and step 104 so that the chordconverting routine may be executed only when the user wishes so, and, inother cases, the chord converting routine may not be executed. Thisallows that the user who does not wish to perform chord conversion canavoid performing unnecessary procedures for the chord conversion.

d. Other Modifications

In the above-described second modification, the user is allowed todesignate a level of the chords to be converted, while in theabove-described third modification, the user is allowed to designate thechords themselves that the user wishes to convert. However, the leveldesignation of the chords may be applied to the conversion of chordprogressions according to the above-described first modification. Inthis case, the processes of designating a level of the chordprogressions and of determining the coincidence of the chordprogressions corresponding to the designated level, such as theprocesses of steps 230 and 232 of the chord converting routine of FIG.8, may be added to the chord converting routine of FIG. 6 so that thechord progressions corresponding to the user's level may be changed toeasy-to-play chord progressions with the use of the chord conversiontable of FIG. 7 for converting the chord progressions.

This allows that, when the user inputs level information in accordancewith the user's own level of playing, the chord progressions appearingin the music data will be converted in accordance with the user's levelof playing. Therefore, whether the user is a beginner player, anintermediate-level player, or an expert player, the user will bepresented with chord progressions suitable for the user.

Further, the aforesaid designation of the chords themselves may also beapplied to the conversion of chord progressions according to theabove-described first modification. In this case, the processes ofdesignating the chord progressions that the user wishes to convert andof determining the coincidence of the designated chord progressions,such as the processes of steps 240 to 244 of the chord convertingroutine of FIG. 10, may be added to the chord converting routine of FIG.6 so that the specific chord progressions designated by the user may bechanged to other easy-to-play chord progressions with the use of thechord conversion table of FIG. 7 for converting the chord progressions.

This allows that, when the user inputs chord progressions that the userwishes to convert, the input chord progressions appearing in the musicdata will be converted to easy-to-play chord progressions. Therefore,the user will be presented with chord progressions suitable for the userin accordance with the wish of the user. As a result of this, accordingto these modifications as well, even if the user is a beginner player,the. user can perform smooth chord playing. Also, if the user is anexpert player, the user can perform chord playing having an affluentpower of expression.

Further, in the aforesaid chord conversion tables of FIGS. 5 and 9,converted chord names are stored as chord conversion information.However, regarding the converted chords, information that can define theconverted chords with the use of information concerning thebefore-conversion chords, such as storing only chord types in the casewhere the root tones are the same, may be stored as the chord conversioninformation. Also, in a chord conversion table showing chordprogressions such as shown in FIG. 7, any information may be adopted asthe chord conversion information as long as the information showsbefore-conversion chords to be converted in a before-conversion chordseries together with the converted chords corresponding to thebefore-conversion chords. Furthermore, in the aforementioned embodiment,the chords in the music data and the chords in the chord conversiontable are expressed with the use of root tones and chord types. However,if the musical key is known, the chords may be expressed with the use ofdegrees (for example, I for C, IIm for Am, and the like).

In addition, in the above-described embodiment and variousmodifications, those having chord data as a part of the music data madeof automatic play data, score display data, or lyric display data havebeen described; however, the present invention can be applied to thosestoring only a plurality of chord data.

Further, the aforementioned embodiment has been described raising anexample in which the present invention is applied to an electronicmusical instrument having keyboard 10 as play operators; however, thepresent invention can be applied to various musical instruments having atouch plate, press-buttons, strings, or the like as the play operators.In addition, besides electronic musical instruments, the presentinvention can be applied to various electronic apparatus such as acomputer unit if the electronic apparatus include a device forgenerating chord tone signals and a device capable of presenting chordsto a user, such as a displayer capable of displaying chord names,scores, and others.

Further, in carrying out the present invention, it is not limited to theaforesaid embodiment and modifications thereof, so that variousmodifications can be made as long as they do not depart from the objectof the present invention.

1. A chord presenting apparatus comprising: a chord information storagedevice for storing plural pieces of chord information which represent aseries of chords; a chord presenting device for reading out chordinformation stored in said chord information storage device and forpresenting chords represented by the chord information to a user; achord conversion table that stores conversion information for convertinga first chord progression to a second chord progression; a chorddetector that searches and detects plural pieces of chord information,representing the first chord progression from among the plural pieces ofchord information stored in said chord information storage device, fromthe chord conversion table; and a chord converter that converts theplural pieces of chord information representing the first chordprogression to the second chord progression in accordance with theconversion information stored in said chord conversion table, so as tosupply the converted chord progression to said chord presenting device,after when a series of the plural pieces of chord informationrepresenting the entirety of the first chord progression is found in theconversion table, wherein said first chord progression consists of afirst series of chords, and said second chord progression consists of asecond series of chords, where at least one of the chords thereof isdifferent from said first series of chords.
 2. The chord presentingapparatus according to claim 1, wherein the chord presentation by saidchord presenting device is at least either one of an auditorypresentation for chords and a visual presentation for chords.
 3. Thechord presenting apparatus according to claim 1, further comprising alevel input device for inputting a level of difficulty of the firstchord progression, wherein the chord converter converts the chordinformation representing the first chord progression in accordance withthe conversion information stored in said chord conversion table and theinput level of difficulty to the first chord progression, so as tosupply the converted chord information to said chord presenting device.4. The chord presenting apparatus according to claim 3, wherein saidchord conversion table further stores level data representing the degreeof difficulty of the first chord progression.
 5. The chord presentingapparatus according to claims 1, further comprising a chord progressioninput device for inputting the first chord progression, wherein thechord converter converts the chord information representing the firstchord progression in accordance with the conversion information storedin said chord conversion table, so as to supply the converted chordinformation to said chord presenting device.
 6. The chord presentingapparatus according to claim 5, further comprising a chord displayer fordisplaying the plural chords respectively represented by the pluralpieces of chord information stored in said chord information storagedevice when the first chord progression is input by said chordprogression input device.
 7. A computable-readable storage mediumstoring a chord presenting computer program for reading out pluralpieces of chord information which are stored in a chord informationstorage device and represent a series of chords, and for presentingchords represented by the chord information to a user, the computerprogram including the instructions for: searching and detecting pluralpieces of chord information, representing a first chord progression fromamong the plural pieces of chord information stored in said chordinformation storage device, from a chord conversion table; andconverting the plural pieces of chord information representing saidfirst chord progression to the second chord progression in accordancewith conversion information stored in the chord conversion table, so asto present the converted chord progression to the user, after when aseries of the plural pieces of chord information representing theentirety of the first chord progression is found in the conversiontable, wherein said first chord progression consists of a first seriesof chords, and said second chord progression consists of a second seriesof chords, where at least one of the chords thereof is different fromsaid first series of chords.
 8. The computer-readable storage mediumstoring the chord presenting computer program according to claim 7,wherein the chord presentation is at least either one of an auditorypresentation for chords and a visual presentation for chords.
 9. Thecomputer-readable storage medium storing the chord presenting computerprogram according to claim 7, further including instruction forinputting a level of difficulty of the first chord progression, whereinsaid instructions for converting converts the chord informationrepresenting the first chord progression in accordance with theconversion information stored in said chord conversion table and theinput level of difficulty to the first chord progression.
 10. Thecomputer-readable storage medium storing the chord presenting computerprogram according to claim 9, wherein said chord conversion tablefurther stores level data representing the degree of difficulty of thefirst chord progression.
 11. The computer-readable storage mediumstoring the chord presenting computer program according to claim 7,further including the instruction for inputting the first chordprogression, wherein said instructions for converting converts the chordinformation representing the first chord progression in accordance withthe conversion information stored in said chord conversion table. 12.The computer-readable storage medium storing the chord presentingapparatus according to claim 11, further including the instruction fordisplaying the plural chords respectively represented by the pluralpieces of chord information stored in said chord information storagedevice when the first chord progression is input.
 13. A chord presentingapparatus comprising: a chord information storage device for storingplural pieces of chord information which represent a series of chords; achord presenting device for reading out chord information stored in thechord information storage device and for presenting chords representedby the chord information to a user; a chord conversion table that storesconversion information for converting a first chord progression to asecond chord progression and a level data representing the degree ofdifficulty of the first chord progression; a chord detector thatsearches and detects plural pieces of chord information, representingthe first chord progression from among the plural pieces of chordinformation stored in the chord information storage device, from thechord conversion table; and a level input device for inputting a leveldata representing the degree of difficulty of the first chordprogression to be converted; and a chord converter for converting thefirst chord progression in the pieces of chord information stored in thechord information storage device to the second chord progression inaccordance with the conversion information stored in the chordconversion table, so as to supply the converted chord information to thechord presenting device, after when a series of the plural pieces ofchord information representing the entirety of the first chordprogression is found in the conversion table and when the input leveldata is higher or equal to the level of difficulty of the first chordprogression stored in the chord conversion table.
 14. Thecomputer-readable storage medium storing a chord presenting computerprogram for reading out plural pieces of chord information which arestored in a chord information storage device and which represent aseries of chords, and for presenting chords represented by the chordinformation to a user, wherein the computer program includes theinstructions for: searching and detecting plural pieces of chordinformation, representing a first chord progression from among theplural pieces of chord information stored in the chord informationstorage device, from a chord conversion table; inputting a level datarepresenting the degree of difficulty of the first chord progression;and converting chord information representing the first chordprogression in accordance with conversion information, including a leveldata representing the degree of difficulty of the first chordprogression, stored in the chord conversion table for converting thefirst chord progression to a second chord progression, so as to presentthe second chord progression to the user in place of presenting thefirst chord progression, after when a series of the plural pieces ofchord information representing the entirety of the first chordprogression is found in the conversion table and the input level data ishigher or equal to the level of difficulty of the first chord typestored in the chord conversion table.